import request from '@/config/axios'

// 商品spu VO
export interface SpuDOVO {
  id: number // 商品 SPU 编号，自增
  name: string // 商品名称
  keyword: string // 关键字
  introduction: string // 商品简介
  description: string // 商品详情
  categoryId: number // 商品分类编号
  brandId: number // 商品品牌编号
  picUrl: string // 商品封面图
  sliderPicUrls: string // 商品轮播图地址 数组，以逗号分隔 最多上传15张
  sort: number // 排序字段
  status: number // 商品状态: 0 上架（开启） 1 下架（禁用）-1 回收
  specType: boolean // 规格类型：0 单规格 1 多规格
  price: number // 商品价格，单位使用：分
  marketPrice: number // 市场价，单位使用：分
  costPrice: number // 成本价，单位： 分
  stock: number // 库存
  deliveryTypes: string // 配送方式数组
  deliveryTemplateId: number // 物流配置模板编号
  giveIntegral: number // 赠送积分
  subCommissionType: boolean // 分销类型
  salesCount: number // 商品销量
  virtualSalesCount: number // 虚拟销量
  browseCount: number // 商品点击量
}

// 商品spu API
export const SpuDOApi = {
  // 查询商品spu分页
  getSpuDOPage: async (params: any) => {
    return await request.get({ url: `/product/spu-DO/page`, params })
  },

  // 查询商品spu详情
  getSpuDO: async (id: number) => {
    return await request.get({ url: `/product/spu-DO/get?id=` + id })
  },

  // 新增商品spu
  createSpuDO: async (data: SpuDOVO) => {
    return await request.post({ url: `/product/spu-DO/create`, data })
  },

  // 修改商品spu
  updateSpuDO: async (data: SpuDOVO) => {
    return await request.put({ url: `/product/spu-DO/update`, data })
  },

  // 删除商品spu
  deleteSpuDO: async (id: number) => {
    return await request.delete({ url: `/product/spu-DO/delete?id=` + id })
  },

  // 导出商品spu Excel
  exportSpuDO: async (params) => {
    return await request.download({ url: `/product/spu-DO/export-excel`, params })
  },
}
